// 存取器：让我们可以有效对对象中的成员的访问，通过getters和 setters
(() => {
    // 外部可以传入形式和名字属性，同时使用set get控制姓名的数据，外部也可以进行修改

    class Person {
        firstName: string // 姓氏
        lastName: string  // 名字
        constructor(firstName: string, lastName: string) {
            this.firstName = firstName
            this.lastName = lastName
        }
        // 姓名的成员属性
        // 读取器：负责读取数据
        get fullName() {
            return this.firstName + '-' + this.lastName
        }

        // 负责设置数据（修改）
        set fullName(val) {
            let names = val.split('-')
            this.firstName = names[0]
            this.lastName = names[1]
        }
    }

    // 实例化对象
    const person: Person = new Person('东方', '不败')
    console.log(person);
    // 获取该属性成员属性
    console.log(person.fullName);


})()